TSKaigi Kansai 2024
2024/11/16
採択されたぜ
1ブース100人いないぐらいかな?mrsekut.icon
型チェック 速度改善 奮闘記⏳
改善割合
redux toolkit関連の型推論が8割ぐらい
Extractによるinstantiation
不要なスキーマ定義
Extractをoveloadに替えると推論量が減った
ただ単に型を定義したいだけなのにzod schemaを定義しているところがあった
schema作ってinferしてるだけで、validationにつかってないやつ
ありそうmrsekut.icon
about://tracing
おすすめらしい
ボトムアップを突き止めていく
デモの満足度高いmrsekut.icon
よしこさんの聞きそびれた
TypeScript Graph
公開してるのかな?
公開されてるのかな?
途中で聞き始めたのでわからん
Tanstack Routerに移行するのかい、しないのかい、どっちなんだい!
この辺のTL聞けてない
エムスリー
グラフ構造のシナリオ管理
シナリオを構築する部分
アウトプットはyml
それを既存のOSSツールに渡せる
Flux
StoreにJotai
1つのAtomが1つのEntity的な
3層
素entity、join済み、Componentが使いやすい形
ActionにEffect
DIにつかう
Effectの例
GetResolvedAction, GetDefaultName, etc.
ユーザのactionごとにnodeを作る
actionの中でatomとやり取りする
その時にDIの仕組みを使う
全体的に図がわかりやすいmrsekut.icon
めっちゃおもろいmrsekut.icon*2
テストユーザ募集中
sakuさん
値と型と同じ名前にするやつ
面白そうだけど早すぎてわからなかった、後で見返そうmrsekut.icon
TypeScriptでライブラリとの依存を限定的にする方法
アップデート時にデフォルト値変わるの困るよね..mrsekut.icon
元のバージョンのデフォルト値がわからなくなることがあった
subpath importsで始めるモック生活
tsでもViteでも簡単に使える
気になるmrsekut.icon
後でちゃんと調べよう
interfaceを活用して安全性と拡張性を兼ね備えた型を作る
ライブラリに直接全部unionを書くと、依存するものに全部影響してしまう
intefaceで提供することでopenに拡張できる
MUIのthemingがそうなっているらしい
モジュール毎に個別に定義できる
vscodeとtscの型チェックの結果がズレることがあるらしい
構造的型付けと serialize 境界
恩田さん
URL文字列にエンコードした時に、イラン情報が入ってきてることがある
subtypeがokなら入っても怒られないので
repository関数で、
引数をzod schemaにして、parseする
zodのpassthrough
varibotのobjectも同じ
F# object expression
F#でも構造的部分型できる
Scalaのreflection
そういえば、refectionってあんまり知らんmrsekut.icon
構造的部分型知ってますか?の質問に挙手してる人、半分ぐらいだった
そんな感じなのかとびっくりしたmrsekut.icon
全然関係ないけどapi呼び出し層てなんで「repository」っていうんだっけ
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた
test coverage信仰に対するアンチテーゼ的な
ただテストがありゃ良いのではなく、意味のあるテストがある、とわかる
Googleもやっとるらしい
Stryker
そのまま使うと重いらしい
160分!?
デフォルトの変異の対象と変異の種類が多すぎるから
incrementalオプションがある
他のスライドも見ておく
tsのproposal
jsだけじゃだめ
主催の二人と会ったmrsekut.icon
R&D、SaaS
4人、
抽象